Decentralized optimal dispatch of photovoltaic inverters in power distribution systems

ABSTRACT

Decentralized methods for computing optimal real and reactive power setpoints for residential photovoltaic (PV) inverters are described. Optimal power flow techniques are described that select which inverters will provide ancillary services and compute their optimal real and reactive power setpoints according to specified performance criteria and economic objectives.

This application claims the benefit of U.S. Provisional Patent Application No. 62/128,831, filed Mar. 5, 2015, the entire contents of which are incorporated herein by reference.

TECHNICAL FIELD

The invention relates to photovoltaic (PV) systems including residential-scale systems.

BACKGROUND

Deployment of photovoltaic (PV) systems in residential settings promises a multitude of environmental and economic advantages, including a sustainable capacity expansion of distribution systems. However, a unique set of challenges related to power quality, efficiency, and reliability may emerge, especially when an increased number of PV systems are deployed in existing distribution networks, and operate according to current practices. One challenge is associated with overvoltages when PV generation exceeds demand. To ensure reliable operation of existing distribution feeders even during peak PV generation hours, recent efforts have focused on the possibility of inverters providing ancillary services.

Secondary-level control of PV inverters can alleviate extenuating circumstances such as overvoltages during periods when PV generation exceeds the household demand, and voltage transients during rapidly varying atmospheric conditions. Initiatives to upgrade inverter controls and develop business models for ancillary services are currently underway in order to facilitate large-scale integration of renewables while ensuring reliable operation of existing distribution feeders

Examples of ancillary services include reactive power compensation, which has been recognized as a viable option to effect voltage regulation at the medium-voltage distribution level. The amount of reactive power injected or absorbed by inverters can be computed based on either local droop-type proportional laws, or optimal power flow (OPF) strategies. Either way, voltage regulation with these approaches comes at the expense of low power factors at the substation and high network currents, with the latter leading to high power losses in the network.

SUMMARY

In general, this disclosure describes a systematic and unifying optimal inverter dispatch (OID) techniques for determining the active- and reactive-power set points for PV inverters in distribution systems, with the objective of optimizing the operation of power distribution feeders while increasing the network resiliency and reliability. The techniques described herein facilitates high PV-system integration in both residential and commercial settings with optimality, reliability and power-quality guarantees, and accommodates business models for PV-owners willing to participate in energy market operations.

Power distribution networks were traditionally designed to transfer power from the distribution substation (i.e., the point of interconnection with the bulk transmission grid) to residential neighborhoods and commercial premises, without accounting for possible local power generation at end users. With the proliferation of roof-top PV systems, operating with standard protocols and practices (e.g., all the active power harvested is injected in the network, and inverters do not produce reactive power), result in a unique set of challenges related to power quality, efficiency, and reliability. In particular, overvoltages during periods when PV generation exceeds the demand, and voltage sags during rapidly-varying ambient conditions are emerging as pressing concerns in distribution system management. In this context, OID represents a viable and powerful option for upgrading power distribution system operations and control by heralding the next generation of grid-interactive protocols in PV inverters.

Decentralized methods for computing optimal real and reactive power setpoints for residential photovoltaic (PV) inverters are described. Conventional PV inverter controllers, which are designed to extract maximum power at unity power factor, cannot address secondary performance objectives such as voltage regulation and network loss minimization. Optimal power flow techniques are described that select which inverters will provide ancillary services and compute their optimal real and reactive power setpoints according to specified performance criteria and economic objectives. Leveraging advances in sparsity-promoting regularization techniques and semidefinite relaxation, this disclosure shows how such problems can be solved with reduced computational burden and optimality guarantees. To enable large-scale implementation, example implementations are described based on the so-called alternating direction method of multipliers by which optimal power flow-type problems in this setting can be systematically decomposed into sub-problems that can be solved in a decentralized fashion by the utility and customer-owned PV systems with limited exchanges of information. Since the computational burden is shared among multiple devices and the requirement of all-to-all communication can be circumvented, the described optimization approaches scale favorably to large distribution networks.

The described techniques may provide a number of technical advantages. For example, techniques described herein provide increased flexibility over conventional techniques by, for example, invoking a joint optimization of both active and reactive powers; based on prevailing ambient conditions and load demand, OID determines the PV-inverter active- and reactive-power set points, so that the network operation may be optimized according to specified criteria (e.g., minimizing power losses as well as maximize economic objectives and social welfare), while ensuring adherence to pertinent electrical and security constraints.

Moreover, the techniques may be used to select the subset of PV-inverters that most strongly impacts voltages, network performance objectives, and social welfare, and quantifies the optimal setpoints for those inverters. Inverters that are not selected by techniques are allowed to operate in a business-as-usual mode.

In one embodiment, a system comprises a control device for a power utility and a plurality of customer sites having respective photovoltaic inverters coupled to the power utility by a power distribution network. The control device stores an optimal inverter dispatch (OID) model for controlling real and reactive power produced by photovoltaic inverters installed at the customer sites, the OID model specifying a set of one or more cost constraints for the utility. The control device is configured to receive messages from each of the customer sites, wherein each of the messages specify current measurements for the amount of reactive power and reactive power currently being produced by the photovoltaic inverter installed at the respective customer site, determine, based on the OID model and the current measurements, set points for the active power and reactive power to be produced by each of the photovoltaic inverters of the customer sites by performing a minimization operation over the cost constraints for the utility, and communicate the updated set points for the active power and the reactive power to photovoltaic inverters.

In another embodiment, a method comprises storing, with a control device, an optimal inverter dispatch (OID) model for controlling the real and reactive power produced by photovoltaic inverters installed at respective customer sites and connected to a utility by a power distribution network, wherein the model includes data representing estimated voltages at nodes within the power distribution network and an amount of active and reactive power currently being produced by each of the photovoltaic inverters, and wherein the OID model specifies a set of one or more cost constraints for the utility. The method includes receiving, with the control device, messages from each of the customer sites, wherein each of the messages specify current measurements for the amount of reactive power and reactive power currently being produced by the photovoltaic inverter installed at the respective customer site, determining, based on the OID model and the current measurements, set points for the active power and reactive power to be produced by each of the photovoltaic inverters of the customer sites by performing a minimization operation over the cost constraints for the utility, and communicating the updated set points for the active power and the reactive power to photovoltaic inverters.

In another embodiment, a method comprises measuring, with a controller at a customer site, an amount of active power and reactive power currently being produced by a photovoltaic inverter installed at the customer site. The method further includes receiving, with the controller, messages from a control device of a utility coupled to the customer site by a power distribution network, wherein the messages specify set points for the amount of reactive power and reactive power to be produced by the photovoltaic inverter installed at the respective customer site, computing, with the controller, local set points based on a difference between the set points for the reactive power and the reactive power as received from the control device and the measured reactive power and reactive power currently being produced by the photovoltaic inverters, and controlling the respective photovoltaic inverter in accordance with the local set points for the reactive power and the reactive power.

In another embodiment, the invention is directed to a computer-readable medium containing instructions. The instructions cause a programmable processor to implement the operations and functions described herein.

The details of one or more embodiments of the invention are set forth in the accompanying drawings and the description below. Other features, objects, and advantages of the invention will be apparent from the description and drawings, and from the claims.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 is a block diagram of an example low-voltage residential network with high PV penetration.

FIG. 2 is a block diagram illustrating π-equivalent circuits of a low-voltage distribution line (m; n)∈ε.

FIGS. 3A-3D are graphs illustrating feasible operating regions for the h^(th) inverter with apparent power rating S_(h) under a) reactive power control (RPC), b) active power curtailment (APC), c) OID with joint control of real and reactive power, and d) OID with a lower-bound on power factor.

FIG. 4 is a block diagram illustrating operations and communications in a distributed optimal inverter dispatch (DOID) with utility-customer message passing according to a first example implementation.

FIG. 5 is a block diagram illustrating operations and communications in a DOID with utility-customer message passing according to a second example implementation in which the distribution network is divided into clusters.

FIGS. 6A-6B are graphs of simulated inputs: (a) available active powers {P_(h) ^(av)} from inverters with dc ratings of 5.52 kW, 5.70 kW, and 8.00 kW; (b) demanded active loads at the households (reactive demand is computed by presuming a power factor of 0.9).

FIGS. 7A-7B are graphs illustrating an example solution, as determined according to the techniques herein, for curtailed active power per each household, for (a) λ=0.8 and (b) λ=0.

FIGS. 8A, 8B are graphs illustrating convergence of the first example implementation of the DOID techniques for: (a) values of {P_(c,h)[i]

(dashed lines) and {P _(c,h)[i]

as a function of the ADMM iteration index i. (b) Consensus error|P_(c,h)[i]−P_(c,h)[i]|, for all houses h∈

as a function of i.

FIG. 9 is a graph illustrating consensus error |V₈ ¹[i]−V₈ ²[i]| and |V₁₁ ¹[i]−V₁₁ ²[i]| for the second example implementation of the DOID techniques as a function of the ADMM iteration index i.

FIG. 10 is a flowchart illustrating example operation of a device in accordance with the techniques described herein.

FIG. 11 shows a detailed example of a computing device or controller that may be configured to implement various embodiments in accordance with the current disclosure.

DETAILED DESCRIPTION

FIG. 1 is a block diagram of an example low-voltage residential network with high penetration of photovoltaic inverters (PVs). Techniques for distributed optimal inverter dispatch (DOID) are described. In example implementations, a subset of critical PV-inverters that most strongly impact network performance objectives are identified and their active (real) and reactive power set points are jointly computed. This can be accomplished by formulating an optimal power flow (OPF) type problem, which encapsulates well-defined performance criteria as well as network and inverter operational constraints. By leveraging sparsity-promoting regularizations and semidefinite relaxation (SDR) techniques, the technical problems are solved in a distributed manner with reduced computational burden.

The techniques provide increased flexibility over conventional Volt/VAR approaches and conventional active power curtailment methods. For example, the techniques may: i) determine in real-time those inverters that must participate in ancillary services provisioning; and, ii) jointly optimize both the real and reactive power produced by the participating inverters (see, e.g., FIGS. 3 (c)-(d) for an illustration of the inverters' operating regions under OID).

In this disclosure, the technical problem is strategically decomposed into sub-problems that can be solved in a decentralized fashion by control devices associated with and deployed at utility-owned energy systems and customer-owned PV systems, with reduced exchanges of information. Herein, the decentralized optimization techniques are referred to as decentralized optimal inverter dispatch (DOID). By leveraging both real and reactive power optimization and decentralized solution approaches for OPF problems, a number of decentralized techniques are described herein.

For example, in a first implementation, controllers for all customer-owned PV inverters communicate with the control device for the utility. The control device for the utility executes operations to implement the techniques described herein to optimize network performance (quantified in terms of, e.g., power losses and voltage regulation) while controllers deployed at individual customer sites maximize their customer-specified economic objectives (quantified in terms of, e.g., the amount of active power they might have to curtail). This setup provides flexibility to the customers to specify their optimization objectives since the utility need not control the customer preferences. In the spirit of the advanced metering infrastructure (AMI) paradigm, according to the techniques described herein, utility and customer-owned EMUs exchange relevant information to agree on the optimal PVinverter setpoints. The process continues until the decentralized algorithms implemented by the utility control device and the customer controllers have converged such that the set points computed by the power utility converge to a threshold difference from the set points computed by the inverter controllers at the customer sites.

In a second example implementation of the DOID techniques, the distribution network is partitioned into clusters, each of which contains a set of customer-owned PV inverters and a single cluster energy manager (CEM). A decentralized algorithm is then formulated and implemented such that the operation of each cluster is optimized and with a limited exchange of voltage-related messages, the interconnected clusters consent on the system-wide voltage profile. In one example, the decentralized OID techniques leverage the alternating direction method of multipliers (ADMM), which is an algorithm that solves complex optimization problems by breaking them into smaller pieces. Further example details of ADMM are described in Boyd, N. Parikh, E. Chu, B. Peleato, and J. Eckstein, “Distributed optimization and statistical learning via the alternating direction method of multipliers,” Foundations and Trends in Machine Learning, vol. 3, pp. 1-122, 2011, the entire contents of which are incorporated herein by reference. In general, the message exchange process described above continues until the set points computed by the power utility/aggregator converge to a threshold difference from the set points computed by the customer controller, and the difference between matrices specifying voltages of power lines connecting neighboring clusters converge to a threshold difference.

The decentralized OID techniques described herein accommodate different message passing strategies that are relevant in a variety of practical scenarios (e.g., customer-to-utility, customer-to-CEM and CEM-to-CEM communications). The described decentralized techniques offer improved optimality guarantees, since example implementations are grounded on semidefinite relaxation. Moreover, the described techniques consider the utilization of an exact AC power flow model, as well as a joint computation of active and reactive power setpoint.

Network and PV-Inverter Models

In the example of FIG. 1, node 0 corresponds to the secondary of the step-down transformer; set

={2, 5, 8, 11, 14, 17} collects nodes corresponding to distribution poles; and, homes H₁, . . . , H₁₂ are connected to nodes in the set

={1, 3, 4, 6, 7, 9, 10, 12, 13, 15, 16, 18}.

With respect to FIG. 1, consider the distribution system comprising N+1 nodes collected in the set

:={0, 1, . . . , N} (node 0 denotes the secondary of the step-down transformer), and lines represented by the set of edges ε:={(m, n)}⊂

×

. For simplicity of exposition, a balanced system is considered; however, both the centralized and decentralized frameworks proposed subsequently can be extended to unbalanced systems. Subsets

,

⊂

collect nodes corresponding to utility poles (with zero power injected or consumed), and those with installed residential PV inverters, respectively (see FIG. 1).

Let V_(n)∈

and I_(n)∈

denote the phasors for the line-to-ground voltage and the current injected at node n∈

, respectively, and define i:=[I₁, . . . , I_(N)]^(T)∈

^(N) and v:=[V₁, . . . , V_(N)]^(T)∈

^(N). Using Ohm's and Kirchhoff s circuit laws, the linear relationship i=Yv can be established, where the system admittance matrix Y∈

^(N+1×N+1) is formed based on the system topology and the π-equivalent circuit of lines (m, n)∈ε, as illustrated in FIG. 2. Specifically, with y_(mn) and y_(mn) ^(sh) denoting the series and shunt admittances of line (m, n), the entries of Y are defined as

[ Y ] m , n := { ∑ j ∈ m ⁢ y mj sh + y mj , if ⁢ ⁢ m = m - y mn , if ⁡ ( m , n ) ∈ ɛ 0 , otherwise where,

_(m):={j∈

: (m, j)∈ε} denotes the set of nodes connected to the m-th one through a distribution line.

A constant PQ model is adopted for the load, with P_(l,h) and Q_(l,h) denoting the active and reactive demands at node h∈

, respectively. In general, the PQ model asserts that the demand from a household or a commercial premise is represented by given values for the consumed real and reactive powers. For given solar irradiation conditions, let Pr denote the maximum available active power from the PV array at node h∈

. The described framework calls for the joint control of both real and reactive power produced by each of the PV inverters. In particular, the allowed operating regime on the complex-power plane for the PV inverters is illustrated in FIG. 3D and described by

h OID := { 0 ≤ P c , h ≤ P h av P c , h , ⁢ Q c , h ⁢ : ⁢ ⁢ Q c , h 2 ≤ S h 2 - ( P h av - P c , h ) 2  Q c , h  ≤ tan ⁢ ⁢ θ ⁡ ( P h av - P c , h ) } ( 1 ) where P_(c,h) is the active power curtailed, and Q_(c,h) is the reactive power injected/absorbed by the inverter at node h. Notice that if there is no limit to the power factor, then θ=π/2, and the operating region is given by FIG. 3C. In particular, FIGS. 3A-3D are graphs illustrating feasible operating regions for the h^(th) inverter with apparent power rating S_(h) under a) reactive power control (RPC), b) active power curtailment (APC), c) OID with joint control of real and reactive power, and d) OID with a lower-bound on power factor.

The techniques described herein provide for joint optimization of active and reactive powers generated by the PV inverters, and offer the flexibility of selecting the subset of critical PV inverters that should be dispatched in order to fulfill optimization objectives and ensure electrical network constraints. To this end, let z_(h) be a binary variable indicating whether PV inverter h provides ancillary services or not and assume that at most K<|

|PV inverters are allowed to provide ancillary services. Selecting a (possibly time-varying) subset of inverters promotes user fairness, prolongs inverter lifetime, and captures possible fixed-rate utility-customer pricing/rewarding strategies. Let p_(c) and q_(c) collect the active powers curtailed and the reactive powers injected/absorbed by the inverters. With these definitions, the OID problem can be formulated as follows:

min v , i , p c , q c ⁢ { z h } ⁢ C ⁡ ( V , p c ) ⁢ ⁢ subject ⁢ ⁢ to ⁢ ⁢ i = Yv , { z h } ∈ { 0 , 1 ⁢ , ⁢ and ( 2 ⁢ a ) V h ⁢ I h * = ( P h av - P c , h - P l , h ) + j ⁡ ( Q c , h - Q l , h ) ( 2 ⁢ b ) V n ⁢ I n * = 0 ⁢ ⁢ ∀ n ⁢ ∈ ( 2 ⁢ c ) V min ≤  V n  ≤ V max ⁢ ⁢ ∀ n ⁢ ∈ ( 2 ⁢ d ) ( P c , h , Q c , h ) ∈ { { ( 0 , 0 ) } , if ⁢ ⁢ z h = 0 h OID , if ⁢ ⁢ z h = 1 ∀ n ⁢ ∈ ( 2 ⁢ e ) ⁢ z h ≤ K , ( 2 ⁢ f ) where constraint (2b) is enforced at each node h∈

; C(V,p_(c)) is a given cost function capturing both network- and customer-oriented objectives; and, (2e)-(2f) jointly indicate which inverters have to operate either under OID (i.e., (P_(c,h),Q_(c,h))∈

_(h) ^(OID)), or, in the business-as-usual mode (i.e., (P_(c,h),Q_(c,h))=(0,0)). An alternative problem formulation can be obtained by removing constraint (2f), and adopting the cost C(V, p_(c))+λ_(z)

z_(h) in (2a), with λ_(z)≥0 a weighting coefficient utilized to trade off achievable cost C(V, p_(c)) for the number of controlled inverters. When λ_(z) represents a fixed reward for customers providing ancillary services and C(V, p_(c)) models costs associated with active power losses and active power set points, OID (2) returns the inverter setpoints that minimize the economic cost incurred by feeder operation.

In the OPF-type problem formulation, the power balance and lower bound on the voltage magnitude constraints (2b), (2c) and (2d), respectively, render the OID problem nonconvex, and thus challenging to solve optimally and efficiently. Unique to the OID formulation are the binary optimization variables {z_(h)}; finding the optimal (sub)set of inverters to dispatch involves the solution of combinatorially many subproblems. Nevertheless, a computationally affordable convex reformulation is applied by leveraging sparsity-promoting regularization and semidefinite relaxation (SDR) techniques as briefly described next.

In order to bypass binary selection variables, key is to notice that that if inverter h is not selected for ancillary services, then one clearly has that P_(c,h)=Q_(c,h)=0[cf. (2e)]. Thus, for K<|

|, one has that the 2|

|×1 real-valued vector [P_(c,1), Z_(z,1), . . . ,

,

]^(T) is group sparse; meaning that, either the 2×1 sub-vectors [P_(c,h), Q_(c,h)]^(T) equal 0 or not. This group-sparsity attribute enables discarding the binary variables and to effect PV inverter selection by regularizing the cost in (2) with the following function: G(p _(c) ,q _(c)):=λ

∥[P _(c,h) ,Q _(c,h)]^(T∥) ₂  (3) where λ≥0 is a tuning parameter. Specifically, the number of inverters operating under OID decreases as λ is increased.

To develop a relaxation of the OID task, powers and voltage magnitudes are expressed as linear functions of the outer-product Hermitian matrix V:=vv^(H), and the OID problem is reformulated with cost and constraints that are linear in V, as well as the constraints V

0 and rank (V)=1. The resultant problem is still nonconvex because of the constraint rank (V)=1; however in the spirit of SDR, this constraint can be dropped.

To this end, define the matrix Y_(n):=e_(n)e_(n) ^(T)Y per node n, where Δe_(n)

denotes the canonical basis of

. Based on Y_(n), define also the Hermitian matrices A_(n):=½(Y_(n)+Y_(n) ^(H)),B_(n):=j/2(Y_(n)+Y_(n) ^(H)), and M_(n):=e_(n)e_(n) ^(T). Using these matrices, along with (3) the relaxed convex OID problem can be formulated as min_(v,p) _(c) _(,q) _(c) C(V,p _(c))+G(p _(c) ,q _(c))  4(a)

-   -   s to V         0, and         Tr(a _(h) V)=−P _(l,h) +p _(h) ^(av) −P _(c,h) ∀h∈           4(b)         Tr(B _(h) V)=−Q _(l,h) +Q _(c,h) ∀h∈           4(c)         Tr(A _(n) V)=0, Tr(B _(n) V)=0 ∀n∈           4(d)         V _(min) ² ≤Tr(M _(n) V)≤V _(max) ² ∀n∈           4(e)         (P _(c,h) ,Q _(c,h))∈         _(h) ^(OID) ∀h∈           4(f)

If the optimal solution of the relaxed problem (4) has rank 1, then the resultant voltages, currents, and power flows are globally optimal for given inverter setpoints. As for the inverter setpoints {(P_(h) ^(a,v)−P_(c,h),Q_(c,h))}, those obtained from (4) may be slightly sub-optimal compared to the setpoints that would have been obtained by solving the optimization problem (2). This is mainly due to the so-called “shrinkage effect” introduced by the regularizer (3).

To solve the OID problem, customers' loads and available powers {P_(h) ^(av)} are gathered at a processing unit (managed by the utility company), which subsequently dispatches the PV inverter setpoints. Decentralized implementations of the OID framework are described below so that the OID problem can be solved in a decentralized fashion with limited exchange of information. From a computational perspective, decentralized schemes ensure scalability of problem complexity with respect to the system size.

DOID: Utility-Customer Message Passing

Consider decoupling the cost C(V, p_(c)) in (4a) as C(V, p_(c))=C_(utility)(V, p_(c))+Σ_(h)R_(h)(P_(c,h)), where C_(utility)(V, p_(c)) captures utility-oriented optimization objectives, which may include e.g., power losses in the network and voltage deviations; and, R_(h)(P_(c,h)) is a convex function modeling the cost incurred by (or the reward associated with) customer h when the PV inverter is required to curtail power. Without loss of generality, a quadratic function R_(h)(P_(c,h)):=a_(h)P_(c,h) ²+b_(h)P_(c,h) is adopted here, where the choice of the coefficients is based on specific utility-customer prearrangements or customer specified preferences.

Suppose that customer h transmits to the utility company the net active power P _(h):=P_(l,h)+P_(h) ^(av) and the reactive load Q_(l,h); subsequently, customer and utility will agree on the PV-inverter setpoint, based on the optimization objectives described by C_(utility) and {R_(h)}. To this end, let P _(c,h) and Q _(c,h) represent copies of P_(c,h), and Q_(c,h), respectively, at the utility. The corresponding |

|×1 vectors that collect the copies of the inverter setpoints are denoted by p _(c) and q _(c), respectively. Then, using the additional optimization variables p _(c), q _(c), the relaxed OID problem (4) can be equivalently reformulated as:

min V , p c , q c p _ c , q _ c ⁢ C _ ⁡ ( V , p _ c , q _ c ) + ∑ h ∈ ⁢ ⁢ R h ⁡ ( P c , h ) ⁢ ⁢ s . ⁢ to ⁢ ⁢ V ≽ 0 , ⁢ and 5 ⁢ ⁢ ( a ) Tr ⁡ ( A h ⁢ V ) = P _ h - P _ c , h ⁢ ⁢ ∀ h ∈ 5 ⁢ ⁢ ( b ) Tr ⁡ ( B h ⁢ V ) = - Q l , h + Q _ c , h ⁢ ⁢ ∀ h ∈ 5 ⁢ ⁢ ( c ) Tr ⁡ ( A n ⁢ V ) = 0 , Tr ⁡ ( B n ⁢ V ) = 0 ⁢ ⁢ ∀ n ∈ 5 ⁢ ⁢ ( d ) V min 2 ≤ Tr ⁡ ( M h ⁢ V ) ≤ V max 2 ⁢ ⁢ ∀ n ∈ 5 ⁢ ⁢ ( e ) ( P ch , Q c , h ) ∈ h OID ⁢ ⁢ ∀ h ∈ 5 ⁢ ⁢ ( f ) P _ c , h = P c , h , Q _ c , h = Q c , h ⁢ ⁢ ∀ h ∈ 5 ⁢ ⁢ ( g ) where constraints (5g) ensure that utility and customer agree upon the inverters' setpoints, and C(V, p _(c), q _(c)):=C_(utility)(V, p _(c))+G (p _(c), q _(c)) is the regularized cost function to be minimized at the utility.

The consensus constraints (5g) render problems (4) and (5) equivalent; however, the same constraints impede problem decomposability, and thus conventional optimization techniques such as distributed (sub-)gradient methods and ADMM cannot be directly applied to solve (5) in a decentralized fashion. To enable problem decomposability, consider introducing the auxiliary variables x_(h), y_(h) per inverter h. Using these auxiliary variables, (5) can be reformulated as

$\begin{matrix} {{{\min_{\underset{{\overset{\_}{p}}_{c},{{\overset{\_}{q}}_{c,}{\{{X_{h},y_{h}}\}}}}{V,p_{c},q_{c}}}{\overset{\_}{C}\left( {V,{\overset{\_}{p}}_{c},{\overset{\_}{q}}_{c}} \right)}} + {\sum\limits_{h \in}^{\;}\;{R_{h}\left( P_{c,h} \right)}}}{{{{s.\mspace{14mu}{to}}\mspace{14mu} V} \succcurlyeq 0},{\left( {5\; b} \right)\text{-}\left( {5\; f} \right)},{and}}} & {6\;(a)} \\ {{{\overset{\_}{P}}_{c,h} = x_{h}},{x_{h} = {P_{c,h}\mspace{20mu}{\forall{h \in}}}}} & {6\;(b)} \\ {{{\overset{\_}{Q}}_{c,h} = y_{h}},{y_{h} = {Q_{c,h}\mspace{14mu}{\forall{h \in}}}}} & {6\;(c)} \end{matrix}$

Problem (6) is equivalent to (4) and (5); however, compared to (4)-(5), it is amenable to a decentralized solution via ADMM as described in the remainder of this section. ADMM may be preferred over distributed (sub-)gradient schemes because of its significantly faster convergence and resilience to communication errors.

Per inverter h, let γ _(h), γ_(h) denote the multipliers associated with the two constraints in (17c), and μ _(h), μ_(h) the ones associated with (17d). Next, consider the partial quadratically augmented Lagrangian of (6), defined as follows:

ℒ ⁡ ( , { h } , xy , ) := C _ ⁡ ( V , p _ c , q _ c ) + ∑ h ∈ ⁢ ⁢ [ R h ⁡ ( P c , h ) + γ _ h ⁡ ( P _ c , h - x h ) + γ h ⁡ ( x h - P c , h ) + μ _ h ⁡ ( Q _ c , h - y h ) + μ h ⁡ ( y h - Q c , h ) + ( k / 2 ) ⁢ ( P _ c , h - x h ) 2 + ( k / 2 ) ⁢ ( x h - P c , h ) 2 + ( k / 2 ) ⁢ ( Q _ c , h - y h ) 2 + ( k / 2 ) ⁢ ( y h - Q c , h ) 2 ] , ( 7 ) where

:={V,p _(c), q _(c)} collects the optimization variables of the utility;

_(h):={P_(c,h),Q_(c,h)} are the decision variables for customer h;

_(xy):={x_(h),y_(h),∀h∈

} is the set of auxiliary variables;

:={γ _(h),γ_(h),μ _(h),μ_(h),∀h∈

} collects the dual variables; and k>0 is a given constant. Based on (7), ADMM amounts to iteratively performing the steps [S1]-[S3] described next, where i denotes the iteration index:

-   -   [S1] Update variables         as follows:         [i+1]:=arg min_(v,{P) _(c,h) _(,Q) _(c,h})         (         ,{τ_(h) [i]},         _(xy) [i],         [i])  (8)     -   s.to. V         0, and (5b)-(5e).         Furthermore, per inverter h, update P_(c,h),Q_(c,h) as follows:         _(h) [i+1]:=arg min_(P) _(c,h) _(,Q) _(c,h)         (         [i],P _(c,h) ,Q _(c,h),         _(xy) [i],         [i])  (9)     -   s.to. (P_(c,h),Q_(c,h))∈         _(h) ^(OID)     -   [S2] Update auxiliary variables         _(xy):         _(xy) [i+1]:=arg min_({x) _(h) _(,y) _(h) _(})         ₍         _([i+)1],{         _(h) [i+1]},{x _(h) ,y _(h) },         [i])  (10)     -   [S3] Dual update:         γ _(h) [i+1]=γ _(h) [i]+k( P _(c,h) [i+1]−x _(h) [i+1])  11(a)         γ_(h) [i+1]=γ_(h) [i]+k(x _(h) [i+1]−P _(c,h) [i+1])  11(b)         μ _(h) [i+1]=μ _(h) [i]+k( Q _(c,h) [i+1]−y _(h) [i+1])  11(c)         μ_(h) [i+1]=μ_(h) [i]+k(y _(h) [i+1]−Q _(c,h) [i+1])  11(d)

In [S1], the primal variables

,{

_(h)} are obtained by minimizing (7), where the auxiliary variables τ_(xy) and the multipliers

are kept fixed to their current iteration values. Likewise, the auxiliary variables are updated in [S2] by fixing

, {

_(h)} to their up-to-date values. Finally, the dual variables are updated in [S3] via dual gradient ascent.

It can be noticed that step [S2] favorably decouples into 2|

| scalar and unconstrained quadratic programs, with x_(h)[i+1] and y_(h)[i+1]solvable in closed-form. Using this feature, the following lemma can be readily proved.

Lemma 1: Suppose that the multipliers are initialized as γ _(h)[0]=γ_(h)[0]=μ _(h)[0]=μ_(h)[0]=0. Then, for all iterations i>0, it holds that:

-   -   i) γ _(h)[i]=γ_(h)[i];     -   ii) μ _(h)[i]=μ_(h)[i].     -   iii) x_(h)[i]=½P _(c,h)[i]+½P_(c,h)[i]; and,     -   iv) y_(h)[i]=½Q _(c,h)[i]+½Q_(c,h)[i].

Using Lemma 1, the conventional ADMM steps [S1]-[S3] can be simplified as follows. [S1′] At the utility side, variables

are updated by solving the following convex optimization problem:

[i+1]:=arg min_(V,{P) _(c,h) _(,Q) _(c,h) _(}) C (V,p _(c) ,q _(c))+F( p _(c) ,q _(c), {

_(h) [i]})  12(a)

-   -   s.to. V         0, and (5b)-(5e).         where function F(p _(c),q _(c),{         _(h)[i]}) is defined as

F ⁡ ( p _ c , q _ c , { h ⁡ [ i ] } ) := ∑ h ∈ ⁢ [ k 2 ⁢ ( P _ c , h 2 + Q _ c , h 2 ) + P _ c , h ⁡ ( γ h ⁡ [ i ] - k 2 ⁢ P _ c , h ⁡ [ i ] - k 2 ⁢ P c , h ⁡ [ i ] ) + Q _ c , h ⁡ ( μ h ⁡ [ i ] - k 2 ⁢ Q _ c , h ⁡ [ i ] - k 2 ⁢ Q c , h ⁡ [ i ] ) ] 12 ⁢ ⁢ ( b )

At the customer side, the PV-inverter setpoints are updated by solving the following constrained quadratic program:

[ ⁢ R h ⁡ ( P c , h ) + k 2 ⁢ ( P c , h 2 + Q c , h 2 ) - P c , h ⁡ ( γ h ⁡ [ i ] - k 2 ⁢ P _ c , h ⁡ [ i ] - k 2 ⁢ P c , h ⁡ [ i ] ) - Q c , h ⁡ ( μ h ⁡ [ i ] - k 2 ⁢ Q _ c , h ⁡ [ i ] - k 2 ⁢ Q c , h ⁡ [ i ] ) ] ⁢ ⁢ s . ⁢ to . ⁢ ( P c , h , Q c , h ) ∈ h OID . ( 13 )

[S2′] At the utility and customer sides, the dual variables are updated as:

$\begin{matrix} {{\gamma_{h}\left\lbrack {i + 1} \right\rbrack} = {{\gamma_{h}\lbrack i\rbrack} + {\frac{k}{2}\left( {{{\overset{\_}{P}}_{c,h}\left\lbrack {i + 1} \right\rbrack} - {P_{c,h}\left\lbrack {i + 1} \right\rbrack}} \right)}}} & \left( {14\; a} \right) \\ {{\mu_{h}\left\lbrack {i + 1} \right\rbrack} = {{\mu_{h}\lbrack i\rbrack} + {\frac{k}{2}\left( {{Q_{c,h}\left\lbrack {i + 1} \right\rbrack} - {Q_{c,h}\left\lbrack {i + 1} \right\rbrack}} \right)}}} & \left( {14\; b} \right) \end{matrix}$

The resultant decentralized algorithm entails a two-way message exchange between the utility and customers of the current iterates p _(c)[i], q _(c)[i] and p_(c)[i], q_(c)[i]. Specifically, at each iteration i>0, the utility-owned device solves the OID rendition (12) to update the desired PV-inverter setpoints based on the performance objectives described by C(V, p _(c),q _(c)) (which is regularized with the term F (p _(c), q _(c), {

_(h)[i]})enforcing consensus with the setpoints computed at the customer side), as well as the electrical network constraints (5b)-(5e); once (12) is solved, the utility relays to each customer a copy of the iterate value (P _(c,h)[i+1], Q _(c,h)[i+1]). In the meantime, the PV-inverter setpoints are simultaneously updated via (13) and subsequently sent to the utility. Once the updated local iterates are exchanged, utility and customers update the local dual variables (14).

The resultant decentralized algorithm is tabulated as a first example implementation (Algorithm 1) listed below and illustrated in FIG. 4, and its convergence to the solution of the centralized OID problem (4) is formally stated next.

Algorithm 1 DOID: Utility-customer message passing Set γ_(h)[0] = μ_(h)[0] = 0 for all h ∈

. for i = 1, 2, . . . (repeat until convergence) do  1. [Utility]: update V[i + 1] and {P _(c,h)[i + 1], Q _(c,h)[i + 1]}  via (12).   [Customer-h]: update P _(c,h)[i + 1], Q _(c,h)[i + 1] via (13).  2. [Utility]: send P _(c,h)[i + 1], Q _(c,h)[i + 1] to h;       repeat for all h ∈

.   [Customer-h]: receive P _(c,h)[i + 1], Q _(c,h)[i + 1] from utility;       send P _(c,h)[i + 1], Q _(c,h)[i + 1] to utility;       repeat for all h ∈

.   [Utility]; receive P _(c,h)[i + 1], Q _(c,h)[i + 1] from h;       repeat for all h ∈

.  3. [Utility]: update {γ_(h)[i + 1], μ_(h)[i + 1]}_(h∈)

 via (14).   [Customer-h]; update dual variables γ_(h)[i + 1], μ_(h)[i + 1]  via (14);       repeat for all h ∈

. end for Implement setpoints in the PV inverters.

FIG. 4 is a block diagram illustrating operations and communications in a distributed optimal inverter dispatch (DOID) with utility-customer message passing according to a first example implementation. As shown in FIG. 4, power utility 102 is coupled to a plurality of customer sites (e.g., customer site 106) by a power distribution network. Each customer site has installed therein a photovoltaic inverter and a respective controller. That is, control device 100 is configured to receive messages from the control devices of each of the customer sites, wherein each of the messages specify current measurements for the amount of reactive power and reactive power currently being produced by the photovoltaic inverter installed at the respective customer site. Controller 100 determines, based on the current measurements, set points for the active power and reactive power to be produced by each of the photovoltaic inverters of the customer sites by performing a minimization operation over the cost constraints for the utility so as to determine a minimum possible value for the cost, and communicates the updated set points for the active power and the reactive power to photovoltaic inverters.

Control device 100 of power utility 102 exchanges messages with each of the controllers (e.g., controller 110) and controls the real and reactive power produced by photovoltaic inverters installed at the customer sites. Each of the controllers at the customer sites measure an amount of active power and reactive power currently being produced by a photovoltaic inverter installed at the customer site, and send the measurements to the control device of the utility. Moreover, each of the controllers of the PVs receive the messages from control device 100 specifying the set points for the amount of reactive power and reactive power to be produced by the photovoltaic inverter installed at the respective customer site. Each of the controllers compute local set points based on a difference between the set points for the reactive power and the reactive power as received from the control device and the measured reactive power and reactive power currently being produced by the photovoltaic inverters. During this computation, each of the controllers performs a minimization operation over cost incurred by the respective customer site when the photovoltaic inverter for the customer site is required to curtail power generation. Each of the controllers then control the respective photovoltaic inverter in accordance with the local set points for the reactive power and the reactive power.

Proposition 1:

The iterates

[i], {

_(h)[i]} and

[i] produced by [S1′]-[S2′] are convergent, for any k>0. Further

${{\lim_{i\rightarrow{+ \infty}}{V\lbrack i\rbrack}} = V^{opt}},{{\lim_{i\rightarrow{+ \infty}}{p_{c}\lbrack i\rbrack}} = {{\lim_{i\rightarrow{+ \infty}}{{\overset{\_}{p}}_{c}\lbrack i\rbrack}} = p_{c}^{opt}}}$ and ${{\lim_{i\rightarrow{+ \infty}}{q_{c}\lbrack i\rbrack}} = {{\lim_{i\rightarrow{+ \infty}}{{\overset{\_}{q}}_{c}\lbrack i\rbrack}} = q_{c}^{opt}}},$ with V^(opt), p_(c) ^(opt), q_(c) ^(opt) denoting the optimal solutions of the OID problems (4) and (5).

Notice that problem (12) can be conveniently reformulated in a standard SDP form (which involves the minimization of a linear function, subject to linear (in)equalities and linear matrix inequalities) by introducing pertinent auxiliary optimization variables and by using the Schur complement. Finally, for a given consensus error0<ϵ<<1, the algorithm terminates when ∥p _(c)[i]−p_(c)[i]∥₂ ²+∥q _(c)[i]−q_(c)[i]∥₂ ²≤ϵ. However, it is worth emphasizing that, at each iteration i, the utility company solves a consensus-enforcing regularized OID problem, which yields intermediate voltages and power flows that clearly adhere to electrical network constraints.

Once the decentralized algorithm has converged, the real and reactive setpoints are implemented in the PV inverters. Notice however that Algorithm 1 affords an online implementation; that is, the intermediate PV-inverter setpoints p _(c)[i],q _(c)[i] are dispatched (and set at the customer side) as and when they become available, rather than waiting for the algorithm to converge.

DOID: Network Cluster Partitioning

FIG. 5 is a block diagram illustrating operations and communications in a DOID with utility-customer message passing according to a second example implementation in which the distribution network is divided into clusters 200A-200N. In this setup, C¹={1, . . . , 9}, {tilde over (C)}¹={1, . . . , 9, 11}, C²={10, . . . , 18}, and {tilde over (C)}²={8, 10, . . . , 18}. The following sections describe a second example implementation, usable in combination of or an extension to the first example implementation, where the distribution network is partitioned into clusters, with C^(a)⊂N denoting the set of nodes within cluster a. Also, define {tilde over (C)}^(a):=C^(a)∪{n|(m, n)∈ε, m∈C^(a), n∈C^(j), a≠j}; that is, {tilde over (C)}^(a) also includes the nodes belonging to different clusters that are connected to the a-th one by a distribution line (see FIG. 5 for an illustration). Hereafter, superscript (⋅)^(a) will be used to specify quantities pertaining to cluster a; e.g.,

^(a) the set of houses located within cluster C^(a), and vectors p _(c) ^(a), q _(c) ^(a) collect copies of the setpoints of PV inverters h∈

^(a) available with the a-th CEM. With regard to notation, an exception is V^(a), which denotes the sub-matrix of V corresponding to nodes in the extended cluster {tilde over (C)}^(a).

Based on this network partitioning, consider decoupling the network-related cost C(V, p _(c), q _(c)) in (5a) as

${\overset{\_}{C}\left( {V,{\overset{\_}{p}}_{c},{\overset{\_}{q}}_{c}} \right)} = {\sum\limits_{a = 1}^{N_{a}}\;\underset{\underset{:={{\overset{\_}{C}}^{a}{({V^{a},{\overset{\_}{p}}_{c}^{a},{\overset{\_}{q}}_{c}^{a}})}}}{︸}}{\left\lbrack {{C^{a}\left( {V^{a},{\overset{\_}{p}}_{c}^{a}} \right)} + {\lambda^{a}{\sum\limits_{h \in}^{\;}{\left\lbrack {{\overset{\_}{P}}_{c,h},{\overset{\_}{Q}}_{c,h}} \right\rbrack }_{2}}}} \right\rbrack}}$ where N_(a) is the number of clusters, C^(a)(V^(a), p _(c) ^(a)) captures optimization objectives of the a-th cluster (e.g., power losses within the cluster), and the sparsity-promoting regularization function is used to determine which PV inverters in

^(a) provide ancillary services. Further, per-cluster a=1, . . . , N_(a), define the region of feasible power flows as [cf. (5b)-(5e)]:

a := { Tr ⁡ ( A h a ⁢ V a ) = P _ h - P _ c , h , ∀ h ∈ a Tr ⁡ ( B h a ⁢ V a ) = - Q l , h + Q _ c , h , ∀ h ∈ a V a , p _ c a , q _ c a ⁢ : Tr ⁡ ( A n a ⁢ V a ) = 0 , ∀ n ∈ a Tr ⁡ ( B n a ⁢ V a ) = 0 , ∀ n ∈ a V min 2 ≤ Tr ⁡ ( M n a ⁢ V a ) ≤ V max 2 , ∀ n ∈ a } where A_(h) ^(a), B_(h) ^(a) and M_(h) ^(a) are the sub-matrices of A_(h), B_(h), M_(h), respectively, formed by extracting rows and columns corresponding to nodes in {tilde over (C)}^(a). With these definitions, problem (5) can be equivalently formulated as:

min V , p c , q c p _ c , q _ c ⁢ ∑ a ⁢ [ ⁢ C _ a ⁡ ( V a , p _ c a , q _ c a ) + ∑ h ∈ a ⁢ ⁢ R h ⁡ ( P c , h ) ] ⁢ ⁢ s . ⁢ to ⁢ ⁢ V ≽ 0 , ⁢ and ( 15 ⁢ a ) { V a , p _ c a , q _ c a } ∈ a ⁢ ⁢ ∀ a ( 15 ⁢ b ) ( P c , h , Q c , h ) ∈ h OID ⁢ ⁢ ∀ h ∈ a , ⁢ ∀ a ⁢ ( 15 ⁢ c ) P _ c , h = P c , h , Q _ c , h = Q c , h ⁢ ⁢ ∀ h ∈ a , ⁢ ∀ a ⁢ . ( 15 ⁢ d )

Notice that, similar to (5g), constraints (15d) ensure that the CEM and customer-owned PV systems consent on the optimal PV-inverter setpoints. Formulation (15) effectively decouples cost, power flow constraints, and PV-related consensus constraints (15d) on a per-cluster basis. The main challenge towards solving (15) in a decentralized fashion lies in the positive semidefinite (PSD) constraint V

0, which clearly couples the matrices {V^(a)}. To address this challenge, results on completing partial Hermitian matrices will be leveraged to identify partitions of the distribution network in clusters for which the PSD constraint on V would decouple to V^(a)

0, ∀a. This decoupling would clearly facilitate the decomposability of (15) in per-cluster sub-problems.

Towards this end, first define the set of neighboring clusters for the a-th one

:={j

^(a)∩

^(j)≠0}. Further, let

be a graph capturing the control architecture of the distribution network, where nodes represent the clusters and edges connect neighboring clusters (i.e., based on sets {

^(a)}); for example, the graph

, associated with the network in FIG. 5 has two nodes, connected through an edge (since the two areas are connected). In general, it is clear that if clusters a and j are neighbors, then CEM a and CEM j must agree on the voltages at the two end points of the distribution line connecting the two clusters. For example, with reference to FIG. 5, notice that line (8; 11) connects clusters 1 and 2. Therefore, CEM 1 and CEM 2 must agree on voltages V₈ and V₁₁. Lastly, let V_(j) ^(a) denote the sub-matrix of V^(a) corresponding to the two voltages on the line connecting clusters a and j. Recalling the previous example, agreeing on V₈ and V₁₁ is tantamount to setting V₂ ¹=V₂ ¹, where V₂ ¹ is a 2×2 matrix representing the outer-product [V₈, V₁₁]^(T [V) ₈, V₁₁]*. Using these definitions, the following proposition can be proved.

Proposition 2:

Suppose: (i) the cluster graph

is a tree, and (ii) clusters are not nested (i.e., |

^(a)\(

^(a)∩

^(j))|>0 ∀a≠j). Then, (15) is equivalent to the following problem:

min { V a , p c a , q c a } p _ c , q _ c ⁢ ∑ a ⁢ [ ⁢ C _ a ⁡ ( V a , p _ c a , q _ c a ) + ∑ h ∈ a ⁢ ⁢ R h ⁡ ( P c , h ) ] ⁢ ⁢ s . ⁢ to ⁢ ⁢ ( 15 ⁢ ⁢ b ) ⁢ - ⁢ ( 15 ⁢ d ) ⁢ ⁢ and ( 16 ⁢ a ) V a ≽ 0 ⁢ ⁢ ∀ a ( 16 ⁢ b ) V j a = V a j , ⁢ ∀ j ∈ a , ∀ a ( 16 ⁢ c )

Under (i)-(ii), there exists a rank-1 matrix V^(opt) solving (15) optimally if and only if rank {V^(a)}=1, ∀a=1, . . . , N_(a). Notice that the |

|×|

| matrix V is replaced by percluster reduced-dimensional |

^(a)|×|

^(a)| matrices {V^(a)} in (16). Proposition 2 is grounded on the assertion that a PSD matrix V can be obtained starting from submatrices {V^(a)} if and only if the graph induced by {V^(a)} is chordal. Since a PSD matrix can be reconstructed from {V^(a)}, it suffices to impose constraints V^(a)

0, ∀a=1, . . . , N_(a). Assumptions (i)-(ii) provide sufficient conditions for the graph induced by {V^(a)} to be chordal, and they are typically satisfied in practice (e.g., when each cluster is set to be a lateral or a sub-lateral). The second part of the proposition asserts that, for the completable PSD matrix V to have rank 1, all matrices V^(a) must have rank 1; thus, if rank {V^(a)}=1 for all clusters, then {V^(a)} represents a globally optimal power flow solution for given inverter setpoints.

Similar to (6), auxiliary variables are introduced to enable decomposability of (16) in per-cluster subproblems. With variables x_(h), y_(h) associated with inverter h, and W^(a,j), Q^(a,j) with neighboring clusters a and j, (16) is reformulated as:

min { V a , p c a , q c a } p _ c a , q _ c a { W a , j , Q a , j , x h , y h } ⁢ ∑ a ⁢ [ ⁢ C _ a ⁡ ( V a , p _ c a , q _ c a ) + ∑ h ∈ a ⁢ ⁢ R h ⁡ ( P c , h ) ] ⁢ ⁢ s . ⁢ to ⁢ ⁢ ( 15 ⁢ ⁢ b ) ⁢ - ⁢ ( 15 ⁢ c ) , V a ≽ 0 ⁢ ⁢ ∀ a , ⁢ and ⁢ { V j a } = W a , j , W a , j = W j , a ⁢ ⁢ ∀ j ∈ a , ∀ a ( 17 ⁢ a ) ⁢ { V j a } = Q a , j , Q a , j = Q j , a ⁢ ⁢ ∀ j ∈ a , ∀ a ( 17 ⁢ b ) P _ c , h = x h , x h = P c , h ⁢ ⁢ ∀ h ∈ a , ∀ a ( 17 ⁢ c ) Q _ c , h = y h , y h = Q c , h ⁢ ⁢ ∀ h ∈ a , ∀ a ( 17 ⁢ d )

This problem can be solved across clusters by resorting to ADMM. To this end, a partial quadratically-augmented Lagrangian, obtained by dualizing constraints

{V_(j) ^(a)}=Q^(a,j),

{V_(j) ^(a)}=Q^(a,j), P _(c,h)=x_(h), and Q _(c,h)=y_(h) is defined first; then, the standard ADMM steps involve a cyclic minimization of the resultant Lagrangian with respect to {V^(a), p_(c) ^(a), q_(c) ^(a), p _(c) ^(a), q _(c) ^(a)} (by keeping the remaining variables fixed); the auxiliary variables {W^(a,j), Q^(a,j), x_(h), y_(h)}; and, finally, a dual ascent step. Lemma 1 still holds in the present case. Thus, using this lemma, the ADMM steps can be simplified as described next.

[S1″] Each PV system updates the local copy

_(h)[i+1] via (13); while, each CEM updates the voltage profile of its cluster, and the local copies of the setpoints of inverters

^(a) by solving the following convex problem:

a ⁡ [ i + 1 ] := arg ⁢ ⁢ min V a , p _ c a , q _ c a { α j ≥ 0 , β j ≥ 0 } ⁢       [ C _ a ⁡ ( V a , p _ c a , q _ c a ) +   ⁢ F a ⁡ ( p _ c a , q _ c a , { h ⁡ [ i ] } ) + F V a ⁡ ( V a , { V j ⁡ [ i ] } ) ] ( 18 ⁢ a ) s . ⁢ to ⁢ { V a , p _ c a , q _ c a } ∈ a , V a ≽ 0 , ⁢ and ⁢ : ( 18 ⁢ b ) [ - α j a j T a j - I ] ≼ 0 , ∀ j ∈ a ( 18 ⁢ c ) [ - β j b j T b j - I ] ≼ 0 , ∀ j ∈ a ( 18 ⁢ d ) where vectors a_(j) and b_(j) collect the real and imaginary parts, respectively, of the entries of the matrix V_(j) ^(a)−½(V_(j) ^(a)[i]+V_(a) ^(j)[i]); the regularization function F^(a)(p _(c) ^(a), q _(c) ^(a), {

_(h)[i]}) enforcing consensus on the inverter setpoints is defined as in (12b) (but with the summation limited to inverters

^(a)) and, F_(V)(V^(a), {V^(j)[i]}) is given by:

F V a ⁡ ( V a ⁢ { V j ⁡ [ i ] } ) := ∑ j ∈ a ⁢ ⁢ [ k 2 ⁢ ( α j + β j ) + Tr ⁢ ( γ a , i T ⁡ [ i ] ⁢ ⁢ { V j a } ) + Tr ⁡ ( Ψ a , i T ⁡ [ i ] ⁢ ⁢ { V j a } ) ] . ( 18 ⁢ ⁢ e )

[S2″] Update dual variables {γ_(h), μ_(h)} via (14) at both, the customer and the CEMs; variables {γ_(a,i), Ψ_(a,i)} are updated locally per cluster a=1, . . . N_(a) as:

$\begin{matrix} {{\gamma_{a,j}\left\lbrack {i + 1} \right\rbrack} = {{\gamma_{a,j}\lbrack I\rbrack} + {\frac{k}{2}\left( {{\left\{ {V_{j}^{a}\left\lbrack {i + 1} \right\rbrack} \right\}} - {\left\{ {V_{a}^{j}\left\lbrack {i + 1} \right\rbrack} \right\}}} \right)}}} & \left( {19\; a} \right) \\ {{\Psi_{a,j}\left\lbrack {i + 1} \right\rbrack} = {{\Psi_{a,j}\lbrack I\rbrack} + {\frac{k}{2}\left( {{\left\{ {V_{j}^{a}\left\lbrack {i + 1} \right\rbrack} \right\}} - {\left\{ {V_{a}^{j}\left\lbrack {i + 1} \right\rbrack} \right\}}} \right)}}} & \left( {19\; b} \right) \end{matrix}$

An example implementation of the resultant decentralized algorithm is shown below as Algorithm 2, illustrated in FIG. 5, and it involves an exchange of: (i) the local submatrices {V_(j) ^(a)[i+1]} among neighboring CEMs to agree upon the voltages on lines connecting clusters, where the submatrices convey information regarding the voltages on the line connecting two clusters; and, (ii) the local copies of the PV inverter setpoints between the CEM and customer-owned PV systems. Using arguments similar to Proposition 3, convergence of the algorithm can be readily established.

Algorithm 2 DOID: multi-cluster distributed optimization Set γ_(h)[0] = μ_(h)[0] = 0 for all h ∈

^(a) and for all clusters. Set Υ_(a,j)[0] = Ψ_(a,j)[0] = 0 for all pair of neighboring clusters. for i = 1, 2, . . . (repeat until convergence) do   1. [CEM-a]: update V^(a) [i + 1] and p _(c) ^(a), q _(c) ^(a) via (18).    [Customer-h]: update P_(c,h)[i + 1], Q_(c,h)[i + 1] via (13).   2. [CEM-a]: send V_(j) ^(a)[i + 1] to CEM j;    [CEM-a]: receive V_(a) ^(j)[i + 1] to CEM j;        repeat ∀j ∈

^(a).   3. [CEM-a]: send P _(c,h)[i + 1], Q _(c,h)[i + 1] to EMU-h;        repeat for all h ∈

^(a).    [Customer-h]: receive P _(c,h)[i + 1], Q _(c,h)[i + 1] from CEM a;        send P_(c,h)[i + 1], Q_(c,h)[i + 1] to CEM a;        repeat for h ∈ H^(a).    [CEM-a]: receive P_(c,h)[i + 1], Q_(c,h)[i + 1] from h;        repeat for all h ∈

^(a).   4. [CEM-a]: update {γ_(h)[i + 1], μ_(h)[i + 1]}_(h∈)

 via (14).    [CEM-a]: update {Υ_(a,j)[i + 1], Ψ_(a,j)[i + 1]} via (19);    [Customer-h]; update dual variables γ_(h)[i + 1], μ_(h)[i + 1]   via (14); end for Implement setpoints in the PV inverters.

Proposition 3:

For any k>0, the iterates {

^(a)[i]}, {

_(h)[i]},

[i] produced by [S1″]-[S2″] are convergent, and they converge to a solution of the OID problems (4) and (15).

Once the decentralized algorithm has converged, the real and reactive setpoints are implemented by the PV inverter controllers.

Finally, notice that the worst case complexity of an SDP is on the order

(max{N_(c),N_(v)}⁴ √{square root over (N_(v))}log(1/ϵ)) for general purpose solvers, with N_(c), denoting the total number of constraints, N_(v) the total number of variables, and ϵ>0 a given solution accuracy. It follows that the worst case complexity of (18) is markedly lower than the one of the centralized problem (4). Further, the sparsity of {A_(n), B_(n), M_(n)} and the so-called chordal structure of the underlying electrical graph matrix can be exploited to obtain substantial computational savings.

SIMULATED RESULTS: Consider the distribution network in FIG. 1. The simulation parameters are set to check the consistency between the results of centralized and decentralized schemes. Specifically, the pole-pole distance is set to 50 m; lengths of the drop lines are set to 20 m; and voltage limits V^(min), V^(max) are set to 0.917 pu and 1.042 pu, respectively. The optimization package CVX¹ is employed to solve relevant optimization problems in MATLAB. In all the conducted numerical tests, the rank of matrices V and {V^(a)} was always 1, meaning that globally optimal power flow solutions were obtained for given inverter setpoints.

The available active powers {P_(h) ^(av)

are computed using the System Advisor Model (SAM)² of the National Renewable Energy Laboratory (NREL); specifically, the typical meteorological year (TMY) data for Minneapolis, Minn., during the month of July are used. All 12 houses feature fixed roof-top PV systems, with a dc-ac derating coefficient of 0.77. The dc ratings of the houses are as follows: 5.52 kW for houses H₁, H₉, H₁₀; 5.70 kW for H₂, H₆, H₈, H₁₁; and, 8.00 kW for the remaining five houses. The active powers {P_(h) ^(av)} generated by the inverters with dc ratings of 5.52 kW, 5.70 kW, and 8.00 kW are plotted in FIG. 6(a). It is assumed that the PV inverters are oversized by 10% of the resultant ac rating. The minimum power factor for the inverters is set to 0.85.

The residential load profile is obtained from the Open Energy Info database and the base load experienced in downtown Saint Paul, Minn., during the month of July is used for this test case. To generate 12 different load profiles, the base active power profile is perturbed using a Gaussian random variable with zero mean and standard deviation 200 W; the resultant active loads {P_(l,h)} are plotted in FIG. 6(b). To compute the reactive loads {Q_(l,h)}, a power factor of 0.9 is presumed.

Assume that the objective of the utility company is to minimize the power losses in the network; that is, upon defining the symmetric matrix L_(mn):=

{y_(mn)}(e_(m)−e_(n))(e_(m)−e_(n))^(T) per distribution line (m, n)∈ε, function C_(utility)(V, p _(c)) is set to C_(utility) (V, p _(c))=Tr(LV), with L:=Σ_((m,n)∈ε)L_(mn). At the customer side, function R_(h) (P_(c,h)) is set to R_(h)(P_(c,h))=0.1P_(c,h). The impact of varying the parameter λ is illustrated in FIG. 7, where the solution of the centralized OID problem (4) is reported for different values of the parameter λ. Specifically, FIG. 7(a) illustrates the active power curtailed from each inverter during the course of the day when λ=0.8, whereas the result in FIG. 7(b) were obtained by setting λ=0. It is clearly seen that in the second case all inverters are controlled; in fact, they all curtail active power from 8:00 to 18:00. When λ=0.8, the OID seeks a trade off between achievable objective and number of controlled inverters. It is clearly seen that the number of participating inverters grows with increasing solar irradiation, with a maximum of 7 inverters operating away from the business-as-usual point at 13:00.

The convergence of the first example implementation (Algorithm 1) is showcased for λ=0.8, C_(utility)(V, p _(c))=Tr(LV), and R_(h)(P_(c,h))=0.1P_(c,h), and by utilizing the solar irradiation conditions at 12:00. FIGS. 8A, 8B are graphs illustrating convergence of the first example implementation of the DOID techniques for: (a) values of {P_(c,h)[i]

dashed lines) and {P _(c,h) [i]

as a function of the ADMM iteration index i. (b) Consensus error|P_(c,h)[i]−P_(c,h)[i]|, for all houses h∈

as a function of i. In particular, FIG. 8A depicts the trajectories of the iterates {P_(c,h)[i]

(dashed lines) and {P _(c,h)[i]

(solid lines) for all the houses H₁-H₁₂. The results match the ones in FIG. 7A; in fact, at convergence (i.e., for iterations i≥20), only inverters at houses H₇-H₁₂ are controlled, and the active power curtailment set-points are in agreement. This result is expected, since problems (4) and (5) are equivalent; the only difference is that (4) affords only in centralized solution, whereas (5) is in a form that is suitable for the application of the ADMM to derive distributed solution schemes. Finally, the trajectories of the set-point consensus error |P_(c,h)[i]-P _(c,h)[i]|, as a function of the ADMM iteration index i are depicted in FIG. 8B. It can be clearly seen that the algorithm converges fast to a set-point that is convenient for both utility and customers. Similar trajectories were obtained for the reactive power setpoints.

FIG. 9 represents the discrepancies between local voltages on the line (8; 11); specifically, the trajectories of the voltage errors |V₈ ¹[i]−V₈ ²[i]| and |V₁₁ ¹[i]−V₁₁ ²[i]| are reported as a function of the ADMM iteration index i. The results indicate that the two CEMs consent on the voltage of the branch that connects the two clusters. The “bumpy” trend is typical of the ADMM. Similar trajectories were obtained for the inverter setpoints.

FIG. 10 is a flowchart illustrating example operation and message exchange for a control device of a power utility (or cluster) and a PI controller for a customer in accordance with the techniques described herein. The devices may, for example, be implemented as a server, cloud-based processing system or other device having a processor or other operating environment for implementing the techniques described herein. In other words, the flowchart of FIG. 5 provides a high level overview of the detailed example implementations of Table 1 and Table 2. For purposes of explanation, FIG. 9 will be described with respect to control device 100 and controllers 110 of FIG. 4.

Initially, control device 100 for the utility and controllers 110 for the photovoltaic inverter (PI) at the customer sites are programmed with respective models having cost constraints, as described herein, for computing set points for the real and reactive power to be produced by photovoltaic inverters installed at respective customer sites and connected to a utility by a power distribution network (300, 320). In particular, control device 110 for the power utility is programmed to compute the setpoints based on estimated voltages for the distribution network and by applying a minimization operation to utility-specific costs, such as power losses in the network and voltage deviations. Each PV controller is programmed with a model for computing the setpoints for the real and reactive power by applying a minimization operation to customer-specific costs, such as costs to the individual customer in the event the respective PV is required to curtail power.

Control device 110 of the power utility (or cluster) and controllers 100 for the customer sites engage in a message exchange to iteratively and jointly converge to an optimal setpoints for the overall PV system. For example, control device 110 for the power utility applies the model to determine initial active and reactive set points for each PV and outputs messages to each controller so as to convey the set points (302, 304). In addition, each controller located at the customer sites measures the actual active an reactive power currently being produced by the PV and outputs messages to the control device so as to convey the actual measurements (322, 324).

Responsive to responsive to receiving the messages from the customer sites, control device 110 for the power utility updates one or more coefficients (dual variables) in the OID model based on the difference between the current set points it computed for the reactive power and the reactive power and the reactive power and reactive power currently being produced by the photovoltaic inverters (306). Control device 110 applies the model to compute updated set points based on the updated coefficients and sends the updated set points to each of the PV controllers (308, 304).

At each customer site, the respective controller receives the messages from the control devices specifying the updated set points for the active and reactive power to be produced by the photovoltaic inverter installed at the respective customer site (as determined by the power utility) and computes local set points based on a difference between the received set points and the measured reactive power and reactive power currently being produced by the photovoltaic inverters. At this time, the controller updates coefficients (dual variables) of its local model, computes the local set points by performing a minimization function over its programmed, customer-specific costs and controls the respective photovoltaic inverter in accordance with the local set points for the reactive power and the reactive power (326, 328).

Control device 110 and the PV controllers at each customer site repeat this message exchange and distributed computation of set points until the set points for the real power and the reactive power as computed by the power utility and the set points for the respective real power and reactive power as computed by the inverter controller at each of the customer sites converge within a threshold difference (310, 330). For the technique described herein where the power distribution network is partitioned into clusters, the message exchange process described above continues until the set points computed by the power utility/aggregator converge to a first threshold difference from the set points computed by the customer controllers, and the difference between matrices specifying voltages of power lines connecting neighboring clusters also converges to a second threshold difference. Each of the threshold differences may be user specified.

FIG. 11 shows a detailed example of a computing device that may be configured to implement some embodiments in accordance with the current disclosure. For example, device 500 may be a workstation, a computing center, a cluster of servers or other example embodiments of a computing environment capable of executing the techniques described herein. The example device of FIG. 10 may, for example, implement any portion or combination of the techniques described herein as a utility control device, a cluster energy manager or a controller deployed at a customer site. In this example, a computer 500 includes a hardware-based processor 510 that may be incorporated into a controller or any device to execute program instructions or software, causing the computer to perform various methods or tasks, such as performing the techniques described herein.

Processor 510 may be a general purpose processor, a digital signal processor (DSP), a core processor within an Application Specific Integrated Circuit (ASIC) and the like. Processor 510 is coupled via bus 520 to a memory 530, which is used to store information such as program instructions and other data while the computer is in operation. A storage device 540, such as a hard disk drive, nonvolatile memory, or other non-transient storage device stores information such as program instructions, data files of the multidimensional data and the reduced data set, and other information. As another example, computer 500 may provide an operating environment for execution of one or more virtual machines that, in turn, provide an execution environment for software for implementing the techniques described herein.

The computer also includes various input-output elements 550, including parallel or serial ports, USB, Firewire or IEEE 1394, Ethernet, and other such ports to connect the computer to external device such a printer, video camera, surveillance equipment or the like. Other input-output elements include wireless communication interfaces such as Bluetooth, Wi-Fi, and cellular data networks.

The computer itself may be a traditional personal computer, a rack-mount or business computer or server, or any other type of computerized system. The computer in a further example may include fewer than all elements listed above, such as a thin client or mobile device having only some of the shown elements. In another example, the computer is distributed among multiple computer systems, such as a distributed server that has many computers working together to provide various functions.

The techniques described herein may be implemented in hardware, software, firmware, or any combination thereof. Various features described as modules, units or components may be implemented together in an integrated logic device or separately as discrete but interoperable logic devices or other hardware devices. In some cases, various features of electronic circuitry may be implemented as one or more integrated circuit devices, such as an integrated circuit chip or chipset.

If implemented in hardware, this disclosure may be directed to an apparatus such a processor or an integrated circuit device, such as an integrated circuit chip or chipset. Alternatively or additionally, if implemented in software or firmware, the techniques may be realized at least in part by a computer readable data storage medium comprising instructions that, when executed, cause one or more processors to perform one or more of the methods described above. For example, the computer-readable data storage medium or device may store such instructions for execution by a processor. Any combination of one or more computer-readable medium(s) may be utilized.

A computer-readable storage medium (device) may form part of a computer program product, which may include packaging materials. A computer-readable storage medium (device) may comprise a computer data storage medium such as random access memory (RAM), read-only memory (ROM), non-volatile random access memory (NVRAM), electrically erasable programmable read-only memory (EEPROM), flash memory, magnetic or optical data storage media, and the like. In general, a computer-readable storage medium may be any tangible medium that can contain or store a program for use by or in connection with an instruction execution system, apparatus, or device. Additional examples of computer readable medium include computer-readable storage devices, computer-readable memory, and tangible computer-readable medium. In some examples, an article of manufacture may comprise one or more computer-readable storage media.

In some examples, the computer-readable storage media may comprise non-transitory media. The term “non-transitory” may indicate that the storage medium is not embodied in a carrier wave or a propagated signal. In certain examples, a non-transitory storage medium may store data that can, over time, change (e.g., in RAM or cache).

The code or instructions may be software and/or firmware executed by processing circuitry including one or more processors, such as one or more digital signal processors (DSPs), general purpose microprocessors, application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other equivalent integrated or discrete logic circuitry. Accordingly, the term “processor,” as used herein may refer to any of the foregoing structure or any other processing circuitry suitable for implementation of the techniques described herein. In addition, in some aspects, functionality described in this disclosure may be provided within software modules or hardware modules. A suite of decentralized approaches for computing optimal real and reactive power setpoints for residential photovoltaic (PV) inverters were developed. The described decentralized optimal inverter dispatch strategy offers a comprehensive framework to share computational burden and optimization objectives across the distribution network, while highlighting future business models that will enable customers to actively participate in distribution-system markets.

Various embodiments of the invention have been described. These and other embodiments are within the scope of the following claims. 

The invention claimed is:
 1. A method, the method comprising: storing, with a control device of a power distribution network, an optimal inverter dispatch (OID) model for controlling the real and reactive power produced by photovoltaic inverters installed at respective customer sites and connected to a utility by the power distribution network, wherein the model includes data representing estimated voltages at nodes within the power distribution network and an amount of active and reactive power currently being produced by each of the photovoltaic inverters, and wherein the OID model specifies a set of one or more cost constraints for the utility; receiving, with the control device, messages from customer controllers at each of the customer sites, wherein each of the messages specify current measurements for the amount of active and reactive power currently being produced by the photovoltaic inverter installed at the respective customer site; determining, by the control device and based on the OID model and the current measurements, set points for the active and reactive power to be produced by each of the photovoltaic inverters of the customer sites by performing a minimization operation over the cost constraints for the utility; and communicating, by the control device, to the customer controllers at each of the customer sites, the updated set points for the active and reactive power to photovoltaic inverters.
 2. The method of claim 1, wherein the OID model comprises a semidefinite relaxation programming model that expresses the active power and reactive power for the photovoltaic inverters and the cost constraints as linear functions; and wherein processing the OID model comprises computing the set points as a convex minimization for the estimates of the active and reactive power to be produced at each of the PV inverters.
 3. The method of claim 1, wherein determining the set points comprises determining, for each of the photovoltaic inverters, updated set points based on a difference between previous set points for the active and reactive power of the photovoltaic inverter and the active and reactive power currently being produced by the photovoltaic inverter.
 4. The method of claim 3, wherein determining the set points comprises: responsive to receiving the messages from the customer controllers at each of the customer sites, updating, by the control device, one or more coefficients in the OID model based on the difference between the current set points for the active and reactive power and the active and reactive power currently being produced by the photovoltaic inverters; computing, by the control device, the updated set points based on the updated coefficients; and repeatedly, by the control device: sending the updated set points to the customer controllers at each of the customer sites, receiving the messages from the customer controllers at each of the customer sites, updating the coefficients, and computing additional updates to the set points until the set points for the active and reactive power and the current measurements for the active and reactive power converge within a threshold difference.
 5. The method of claim 1, further comprising: measuring, at each of the customer sites with the customer controllers at each of the customer sites, active and reactive power currently being produced by the respective photovoltaic inverters; receiving, with each of the customer controllers, the messages from the control device specifying the updated set points current for the active and reactive power to be produced by the photovoltaic inverter installed at the respective customer site; computing, with each of the customer controllers, local set points based on a difference between the set points for the active and reactive power as received from the control device and the measured active and reactive power currently being produced by the photovoltaic inverters; and controlling, with each of the customer controllers, the respective photovoltaic inverter in accordance with the local set points for the active and the reactive power.
 6. The method of claim 5, wherein computing, with each of the customer controllers, local set points comprises performing a minimization operation over cost incurred by the respective customer sites when the photovoltaic inverter for the customer site is required to curtail power generation.
 7. The method of claim 1, wherein the control device comprises multiple control devices, the method further comprising: partitioning the power distribution network in to a plurality of clusters, each of the clusters comprising at least one of the multiple control devices and a respective subset of the customer sites; and performing, with each of the at least one of the multiple control devices, the method of claim 1 to control the amount of active and reactive power currently being produced by each of the photovoltaic inverters of the respective subset.
 8. The method of claim 1, further comprising selecting, in real-time, a subset of the photovoltaic inverters to participate in the provisioning.
 9. The method of claim 1, wherein processing the OID model comprises applying alternating direction method of multipliers (ADMM).
 10. A method comprising: measuring, with a customer controller at a customer site, an amount of active and reactive power currently being produced by a photovoltaic inverter installed at the customer site; receiving, with the customer controller, messages from a control device of a power distribution network of a utility coupled to the customer site by the power distribution network, wherein the messages specify set points for the amount of active and reactive power to be produced by the photovoltaic inverter installed at the respective customer site; computing, with the customer controller, local set points based on a difference between the set points for the active and reactive power as received from the control device and the measured active and reactive power currently being produced by the photovoltaic inverters; and controlling, with the customer controller, the respective photovoltaic inverter in accordance with the local set points for the active and the reactive power.
 11. The method of claim 10, wherein computing the local set points comprises performing a minimization operation over cost incurred by the customer controller at the customer site when the photovoltaic inverter for the customer site is required to curtail power generation.
 12. A system comprising: a control device for a power distribution network of a power utility; a plurality of customer sites having customer controllers and respective photovoltaic inverters coupled to the power utility by the power distribution network, wherein the control device stores an optimal inverter dispatch (OID) model for controlling real and reactive power produced by photovoltaic inverters installed at the customer sites, the OID model specifying a set of one or more cost constraints for the utility, and wherein the control device is configured to: receive messages from the customer controller at each of the customer sites, wherein each of the messages specify current measurements for the amount of active and reactive power currently being produced by the photovoltaic inverter installed at the respective customer site, determine, based on the OID model and the current measurements, set points for the active and reactive power to be produced by each of the photovoltaic inverters of the customer sites by performing a minimization operation over the cost constraints for the utility, and communicate, to the customer controllers, the updated set points for the active and reactive power to photovoltaic inverters.
 13. The system of claim 12, wherein the OID model comprises a semidefinite relaxation programming model that expresses the active and reactive power for the photovoltaic inverters and the cost constraints as linear functions; and wherein the control device computes the set points as a convex minimization for the estimates of the active and reactive power to be produced at each of the photovoltaic inverters.
 14. The system of claim 12, wherein the control device is configured to determine, for each of the photovoltaic inverters, the updated set points based on a difference between previous set points for the active and reactive power of the photovoltaic inverter and the active and reactive power currently being produced by the photovoltaic inverter.
 15. A control device a power distribution network, the control device comprising: a processor coupled to a memory storing an optimal inverter dispatch (OID) model for controlling the real and reactive power produced by photovoltaic inverters installed at respective customer sites and connected to a utility by the power distribution network, wherein the model includes data representing estimated voltages at nodes within the power distribution network and an amount of active and reactive power currently being produced by each of the photovoltaic inverters, and wherein the OID model specifies a set of one or more cost constraints for the utility, wherein the processor is configured to: receive messages from customer controllers at each of the customer sites, wherein each of the messages specify current measurements for the amount of active and reactive power currently being produced by the photovoltaic inverter installed at the respective customer site, determine, based on the OID model and the current measurements, set points for the active and reactive power to be produced by each of the photovoltaic inverters of the customer sites by performing a minimization operation over the cost constraints for the utility, and communicate, to the customer controllers, the updated set points for the active and reactive power to photovoltaic inverters.
 16. The control device of claim 15, wherein the OID model comprises a semidefinite relaxation programming model that expresses the active and reactive power for the photovoltaic inverters and the cost constraints as linear functions; and wherein the control device computes the set points as a convex minimization for the estimates of the active and reactive power to be produced at each of the PV inverters.
 17. The control device of claim 15, wherein the control device is configured to determine, for each of the photovoltaic inverters, the updated set points based on a difference between previous set points for the active and reactive power of the photovoltaic inverter and the active and reactive power currently being produced by the photovoltaic inverter.
 18. A photovoltaic inverter controller comprising: circuitry coupling the device to a photovoltaic inverter; a processor coupled to a memory, wherein the processor is configured to: measure an amount of active and reactive power currently being produced by the photovoltaic inverter; receive messages from a control device of a utility coupled to the photovoltaic inverter by a power distribution network, wherein the messages specify set points for the amount of active and reactive power to be produced by the photovoltaic inverter; compute local set points based on a difference between the set points for the active and the reactive power as received from the control device and the measured active and reactive power currently being produced by the photovoltaic inverters; and control the photovoltaic inverter in accordance with the local set points for the active and reactive power.
 19. The photovoltaic inverter controller of claim 18, wherein the processor is configured to compute the local set points by performing a minimization operation over cost incurred by the customer site when the photovoltaic inverter for the customer site is required to curtail power generation.
 20. The photovoltaic inverter controller of claim 18, further comprising a communication interface configured to: send information to the control device that is indicative of the amount of active and reactive power currently being produced by the photovoltaic inverter to the control device; and receive the messages from the control device of the utility in response to sending the information. 